/*     */ package com.iris.egrant.utils;
/*     */ 
/*     */ import java.lang.reflect.Field;
/*     */ import java.sql.Date;
/*     */ import java.sql.Timestamp;
/*     */ import java.text.ParseException;
/*     */ import java.text.SimpleDateFormat;
/*     */ import java.util.ArrayList;
/*     */ import java.util.Collection;
/*     */ import java.util.HashMap;
/*     */ import java.util.Iterator;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ import com.iris.egrant.app.utils.IrisStringUtils;
import net.sf.json.JSONArray;
/*     */ import net.sf.json.JSONObject;
/*     */ import net.sf.json.JsonConfig;
/*     */ import net.sf.json.util.CycleDetectionStrategy;
/*     */ import net.sf.json.util.JSONUtils;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class JsonUtils
/*     */ {
/*     */   private static final String dateformater = "yyyy-MM-dd hh:mm:ss";
/*     */   
/*     */   public static Object getObject4JsonString(String jsonString, Class pojoCalss) {
/*  42 */     JSONObject jsonObject = JSONObject.fromObject(jsonString);
/*  43 */     Object pojo = JSONObject.toBean(jsonObject, pojoCalss);
/*  44 */     return pojo;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Map getMap4Json(String jsonString) {
/*  57 */     JSONObject jsonObject = JSONObject.fromObject(jsonString);
/*  58 */     Iterator<String> keyIter = jsonObject.keys();
/*     */ 
/*     */     
/*  61 */     Map<Object, Object> valueMap = new HashMap<Object, Object>();
/*  62 */     while (keyIter.hasNext()) {
/*  63 */       String key = keyIter.next();
/*  64 */       Object value = jsonObject.get(key);
/*  65 */       valueMap.put(key, value);
/*     */     } 
/*  67 */     return valueMap;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Object[] getObjectArray4Json(String jsonString) {
/*  80 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*  81 */     return jsonArray.toArray();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static List getList4Json(String jsonString, Class pojoClass) {
/*  96 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*     */ 
/*     */     
/*  99 */     List<Object> list = new ArrayList();
/* 100 */     for (int i = 0; i < jsonArray.size(); i++) {
/* 101 */       JSONObject jsonObject = jsonArray.getJSONObject(i);
/* 102 */       Object pojoValue = JSONObject.toBean(jsonObject, pojoClass);
/* 103 */       list.add(pojoValue);
/*     */     } 
/* 105 */     return list;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String[] getStringArray4Json(String jsonString) {
/* 120 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*     */     
/* 122 */     String[] stringArray = new String[jsonArray.size()];
/*     */     
/* 124 */     for (int i = 0; i < jsonArray.size(); i++)
/*     */     {
/* 126 */       stringArray[i] = jsonArray.getString(i);
/*     */     }
/*     */     
/* 129 */     return stringArray;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Long[] getLongArray4Json(String jsonString) {
/* 145 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*     */     
/* 147 */     Long[] longArray = new Long[jsonArray.size()];
/*     */     
/* 149 */     for (int i = 0; i < jsonArray.size(); i++)
/*     */     {
/* 151 */       longArray[i] = Long.valueOf(jsonArray.getLong(i));
/*     */     }
/*     */ 
/*     */     
/* 155 */     return longArray;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Integer[] getIntegerArray4Json(String jsonString) {
/* 170 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*     */     
/* 172 */     Integer[] integerArray = new Integer[jsonArray.size()];
/*     */     
/* 174 */     for (int i = 0; i < jsonArray.size(); i++)
/*     */     {
/* 176 */       integerArray[i] = Integer.valueOf(jsonArray.getInt(i));
/*     */     }
/*     */ 
/*     */     
/* 180 */     return integerArray;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static java.util.Date[] getDateArray4Json(String jsonString, String dataFormat) throws ParseException {
/* 198 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*     */     
/* 200 */     java.util.Date[] dateArray = new Date[jsonArray.size()];
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */     
/* 206 */     for (int i = 0; i < jsonArray.size(); i++) {
/*     */       
/* 208 */       String dateString = jsonArray.getString(i);
/*     */       
/* 210 */       SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
/* 211 */       java.util.Date date = df.parse(dateString);
/*     */       
/* 213 */       dateArray[i] = date;
/*     */     } 
/*     */ 
/*     */     
/* 217 */     return dateArray;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static Double[] getDoubleArray4Json(String jsonString) {
/* 233 */     JSONArray jsonArray = JSONArray.fromObject(jsonString);
/*     */     
/* 235 */     Double[] doubleArray = new Double[jsonArray.size()];
/*     */     
/* 237 */     for (int i = 0; i < jsonArray.size(); i++)
/*     */     {
/* 239 */       doubleArray[i] = Double.valueOf(jsonArray.getDouble(i));
/*     */     }
/*     */ 
/*     */     
/* 243 */     return doubleArray;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String getJsonString4JavaPOJO(Object javaObj) {
/* 261 */     JSONObject json = JSONObject.fromObject(javaObj);
/*     */     
/* 263 */     return json.toString();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static JsonConfig configJson(String[] excludes) {
/* 275 */     JsonConfig jsonConfig = new JsonConfig();
/* 276 */     jsonConfig.setExcludes(excludes);
/* 277 */     jsonConfig.setIgnoreDefaultExcludes(false);
/* 278 */     jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
/*     */     
/* 280 */     return jsonConfig;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static List covertToList(String arrayStr, Class objectClass, Map<String, Class<?>> map) {
/* 302 */     List<Object> list = new ArrayList();
/* 303 */     if (IrisStringUtils.isNullOrBlank(arrayStr)) {
/* 304 */       return list;
/*     */     }
/* 306 */     if (!JSONUtils.mayBeJSON(arrayStr)) {
/* 307 */       return list;
/*     */     }
/* 309 */     JSONArray ay = JSONArray.fromObject(arrayStr);
/* 310 */     if (ay.size() == 0) {
/* 311 */       return list;
/*     */     }
/* 313 */     for (int i = 0; i < ay.size(); i++) {
/* 314 */       JSONObject obj = (JSONObject)ay.get(i);
/* 315 */       if (map != null) {
/* 316 */         list.add(JSONObject.toBean(obj, objectClass, map));
/*     */       } else {
/* 318 */         list.add(JSONObject.toBean(obj, objectClass));
/*     */       } 
/*     */     } 
/* 321 */     return list;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String FormatToJsonstr(Object obj) {
/* 339 */     StringBuffer sbf = null;
/*     */     try {
/* 341 */       if (obj == null)
/* 342 */         return "\"\""; 
/* 343 */       if (obj instanceof String || obj instanceof Integer || obj instanceof Double || obj instanceof Float || obj instanceof Long || obj instanceof Boolean || obj instanceof Character || obj instanceof Byte)
/*     */       {
/* 345 */         return "\"" + string2Json(obj.toString()) + "\""; } 
/* 346 */       if (obj instanceof java.math.BigDecimal) {
/* 347 */         return "\"" + string2Json(obj.toString()) + "\"";
/*     */       }
/*     */       
/* 350 */       if (obj instanceof Date) {
/* 351 */         Date d = (Date)obj;
/* 352 */         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
/* 353 */         return "\"" + sdf.format(d) + "\"";
/* 354 */       }  if (obj instanceof Date) {
/* 355 */         Date d = (Date)obj;
/* 356 */         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
/* 357 */         return "\"" + sdf.format(d) + "\"";
/* 358 */       }  if (obj instanceof Timestamp) {
/* 359 */         Timestamp ts = (Timestamp)obj;
/* 360 */         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
/* 361 */         return "\"" + sdf.format(new Date(ts.getTime())) + "\"";
/* 362 */       }  if (obj instanceof Collection) {
/* 363 */         sbf = FormatCollection((Collection)obj);
/*     */       
/*     */       }
/* 366 */       else if (obj instanceof Map) {
/* 367 */         sbf = FormatMap((Map)obj);
/*     */       
/*     */       }
/* 370 */       else if (obj instanceof Object[]) {
/* 371 */         sbf = FormatObjectAttr((Object[])obj);
/*     */       } else {
/* 373 */         sbf = FormatPojo(obj);
/*     */       } 
/* 375 */     } catch (Exception e) {
/* 376 */       e.printStackTrace();
/*     */     } 
/* 378 */     return sbf.toString();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   public static String string2Json(String s) {
/* 388 */     StringBuffer sb = new StringBuffer();
/* 389 */     for (int i = 0; i < s.length(); i++) {
/* 390 */       char c = s.charAt(i);
/* 391 */       switch (c) {
/*     */         case '"':
/* 393 */           sb.append("\\\"");
/*     */           break;
/*     */         case '\\':
/* 396 */           sb.append("\\\\");
/*     */           break;
/*     */         case '/':
/* 399 */           sb.append("\\/");
/*     */           break;
/*     */         case '\b':
/* 402 */           sb.append("\\b");
/*     */           break;
/*     */         case '\f':
/* 405 */           sb.append("\\f");
/*     */           break;
/*     */         case '\n':
/* 408 */           sb.append("\\n");
/*     */           break;
/*     */         case '\r':
/* 411 */           sb.append("\\r");
/*     */           break;
/*     */         case '\t':
/* 414 */           sb.append("\\t");
/*     */           break;
/*     */         default:
/* 417 */           sb.append(c); break;
/*     */       } 
/*     */     } 
/* 420 */     return sb.toString();
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static StringBuffer FormatCollection(Collection col) throws Exception {
/* 435 */     StringBuffer sbf = new StringBuffer();
/* 436 */     if (col == null || col.size() == 0) {
/* 437 */       sbf.append("[]");
/* 438 */       return sbf;
/*     */     } 
/* 440 */     sbf.append("[");
/* 441 */     for (Object obj : col) {
/* 442 */       sbf.append(FormatToJsonstr(obj));
/* 443 */       sbf.append(",");
/*     */     } 
/* 445 */     if (sbf.length() != -1) {
/* 446 */       sbf.deleteCharAt(sbf.length() - 1).append("]");
/*     */     } else {
/* 448 */       sbf.append("]");
/*     */     } 
/* 450 */     return sbf;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static StringBuffer FormatMap(Map map) throws Exception {
/* 465 */     StringBuffer sbf = new StringBuffer();
/* 466 */     sbf.append("{");
/* 467 */     for (Object obj : map.keySet()) {
/* 468 */       sbf.append("\"" + obj + "\":");
/* 469 */       sbf.append(FormatToJsonstr(map.get(obj)));
/* 470 */       sbf.append(",");
/*     */     } 
/*     */     
/* 473 */     if (sbf.length() != 1) {
/* 474 */       sbf.deleteCharAt(sbf.length() - 1).append("}");
/*     */     } else {
/* 476 */       sbf.append("}");
/*     */     } 
/* 478 */     return sbf;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static StringBuffer FormatPojo(Object obj) {
/* 492 */     StringBuffer sbf = new StringBuffer();
/* 493 */     Class<?> c = null;
/* 494 */     Object resultobject = null;
/* 495 */     sbf.append("{");
/*     */     try {
/* 497 */       c = obj.getClass();
/*     */ 
/*     */       
/* 500 */       for (Field field : c.getDeclaredFields()) {
/* 501 */         field.setAccessible(true);
/* 502 */         resultobject = field.get(obj);
/* 503 */         sbf.append("\"" + field.getName() + "\":" + FormatToJsonstr(resultobject) + ",");
/*     */       } 
/*     */       
/* 506 */       if (sbf.length() != 1) {
/* 507 */         sbf.deleteCharAt(sbf.length() - 1).append("}");
/*     */       } else {
/* 509 */         sbf.deleteCharAt(sbf.length() - 1);
/*     */       } 
/* 511 */     } catch (Exception e) {
/* 512 */       e.printStackTrace();
/*     */     } finally {
/* 514 */       resultobject = null;
/* 515 */       c = null;
/*     */     } 
/* 517 */     return sbf;
/*     */   }
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   
/*     */   private static StringBuffer FormatObjectAttr(Object[] objattr) throws Exception {
/* 531 */     StringBuffer sbf = new StringBuffer();
/* 532 */     sbf.append("[");
/* 533 */     for (Object obj : objattr) {
/* 534 */       sbf.append(FormatToJsonstr(obj));
/* 535 */       sbf.append(",");
/*     */     } 
/* 537 */     if (sbf.length() != 1) {
/* 538 */       sbf.deleteCharAt(sbf.length() - 1).append("]");
/*     */     } else {
/* 540 */       sbf.append("]");
/*     */     } 
/* 542 */     return sbf;
/*     */   }
/*     */ 
/*     */   
/*     */   public static boolean isJson(String jsonString) {
/* 547 */     if (jsonString == null) {
/* 548 */       return false;
/*     */     }
/*     */     try {
/* 551 */       JSONObject.fromObject(jsonString);
/* 552 */       return true;
/* 553 */     } catch (Exception e) {
/* 554 */       return false;
/*     */     } 
/*     */   }
/*     */ }


/* Location:              D:\文件kjt\WEB-INF\lib\egrant-core-2.2.20240205.1659.jar!\com\iris\egran\\utils\JsonUtils.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       1.1.3
 */